4.4

实现一个两输入线性单元的 delta 训练法则。训练它来拟合目标概念 2+x_1+2x_2>0 -2 + x\_1 + 2x\_2 > 0 。画出误差 E 相对训练迭代次数的函数曲线。画出 5,10,50,100,…… 次迭代后的决策面。

(a)为 η \eta 选取不同的常量值,并使用衰减的学习速率——也就是第 i 次迭代使用 η_0/i \eta\_0/i ,再进行试验。哪一个效果更好?

(b)试验增量(incremental)和批量(batch)学习。哪个收敛得更快?考虑权值更新次数和总执行时间。


delta 训练法则用来训练一个无阈值的感知器,在这里就是这个两输入的线性单元,它的输出 o 如下:

o([x1x2])=[w1w2][x1x2] o(\begin{bmatrix} x_1 \\ x_2 \end{bmatrix}) = \begin{bmatrix} w_1 & w_2 \end{bmatrix} \bullet \begin{bmatrix} x_1 \\ x_2 \end{bmatrix}

为了得到可以接受的权向量,一种办法是从随机的权值开始,然后反复地应用这个两输入线性单于到每个训练样例,只要它误分类样例就修改这个两输入线性单元的权值。重复这个过程,直到这个两输入线性单元正确分类所有的训练样例。每一步根据线性单元训练法则来修改权值,也就是修改与输入 x_ix\_i对应的权w_iw\_i,法则如下:

wiwi+Δwi w_i \gets w_i + \Delta w_i

其中:

Δwi=η(to)xi \Delta w_i = \eta(t-o)x_i

这里 t 是当前训练样例的目标输出,o 是线性单元的输出,η\eta是一个正的常数称为学习速率。学习速率的作用是缓和每一步调整权的程度。它通常被设为一个小的数值(例如 0.1),而且有时会使其随着权调整次数的增加而衰减。

训练样例

误差 E 相对训练迭代次数的函数曲线:

η=0.15\eta=0.15 的决策面:

η=0.1\eta = 0.1 的决策面

η=0.05\eta = 0.05 的决策面

(a) 如上面的图形可以看出,分别试验了 η=0.15,η=0.1,η=0.05\eta = 0.15, \eta = 0.1, \eta = 0.05 三个不同的初始 η \eta 值,其中最小的 η=0.05\eta = 0.05 效果最好。

(b) ?

results matching ""

    No results matching ""